Methods and apparatus for managing group membership for group communications

ABSTRACT

Improved group communications methods which are well suited for a wireless environment are described. End nodes request that access nodes make changes in group membership information maintained at the access node. The access node responds to the requests by a response signal indicating a grant or denial of the request. Requests may be to add or remove the end node, e.g., a mobile wireless terminal, from a particular group membership list identified in the request signal. The access node maintains a detailed list of group members and uses the information to control how signals, e.g., packets, are transmitted to the group members. Group membership information may be updated at the node at the time of handoff and/or an end node enters the cell or otherwise changes its point of network attachment.

RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Patent Application No. 60/602,021, filed Aug. 16, 2004 which is hereby expressly incorporated by reference.

FIELD OF THE INVENTION

This invention relates to communications systems and, more particularly, to methods and apparatus for managing group membership for group communications.

BACKGROUND

In a typical cellular communication network, a set of geographically dispersed base stations provide wireless access to a communications infrastructure. Users with wireless communication devices, or terminals, are able to establish a direct communication link with a suitable base station and then exchange information with other users and/or end systems throughout the communication network.

IP multicast technology provides an efficient packet delivery service for group communications (e.g., one-to-many or many-to-many). The use of IP multicast reduces the bandwidth utilization for group communications. This is especially important for supporting group communications over wireless media, where bandwidth is a scarce resource.

When using IP multicast, a group of recipients is associated with an IP multicast address. A data source addresses and sends a single copy of each IP datagram intended for the group of recipients to the IP multicast group address. The routed network will replicate and forward each datagram as needed to deliver it to the routers interconnecting all of the group members. Specialized IP multicast routing protocols are used to form the delivery trees needed for copying and forwarding multicast datagrams.

IP multicast is a receiver-oriented service, in that receivers join a given multicast group to receive datagrams sent to the corresponding IP multicast group address. End systems and access routers communicate with each other via a group membership protocol, e.g., Internet Group Management Protocol (IGMP), to enable the access router to maintain information on active multicast group membership necessary for building the delivery trees.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 illustrates a network diagram of an exemplary communications system of the present invention.

FIGS. 2A, 2B and 2C illustrate apparatus, e.g., exemplary end nodes, implemented in accordance with the present invention.

FIG. 3 illustrates an exemplary access node implemented in accordance with the present invention.

FIG. 4 illustrates the functional entities typically associated with group membership signaling between an access node and an end node.

FIG. 5 illustrates the functional entities associated with group membership signaling between an access node and an end node implemented in accordance with the invention.

FIG. 6 illustrates exemplary group membership signaling between an access node and an end node implemented in accordance with the invention.

SUMMARY OF THE INVENTION

The present invention is directed to methods and apparatus for implementing group communications, e.g., multicast communications methods and apparatus. The methods and apparatus of the invention are directed to the subject matter described and claimed in the present application.

The methods and apparatus of the present invention are particularly well suited for use in wireless communications systems. In such systems different end nodes, which may be wireless terminals used by different individual users, have different communications requirements, e.g., power, coding rate, modulation, timing and/or other signal requirements. These differing signal requirements are often a function of differences in channel conditions and/or end node location which exist between different end nodes and an access node. The conditions, including channel condition and location, can change over time and as an end node moves within the coverage area of an access node. Each end node may be a member of zero, one, or more multicast groups at any point in time. Access nodes serve as the end node's point of attachment, e.g., via a wireless communications link, to a communication system, e.g., cellular network. Group membership can vary with time.

Different multicast applications can be executing on different end nodes with each end node being a member of one, multiple or no multicast groups at any point in time. Within an area serviced by a transmitter, e.g., access node's sector or cell transmitter, group membership may change due to actions by the group member(s), e.g., as a user of an end node decides to enter or exit a group, e.g., by signaling a multicast application to make the desired group membership change or by terminating the multicast application. Membership can also change as the result of an end node dynamics, e.g., a mobile node, entering or leaving a cell.

In one exemplary system, end nodes with wireless transmitters and receivers interact with an access node, e.g., a base station which serves as the end node's network point of attachment. While remaining within the range of a transmitter, e.g., an access node's cell or sector transmitter, the end node can voluntarily join or leave multicast groups. At the wireless terminal, joining and/or leaving groups can be controlled by multicast applications which are responsive to user input, e.g., signals to a multicast application generated by a user depressing a key or generating a wireless terminal input signal using another type of input device. A user's desire to join or leave a multicast group, in accordance with the present invention, can be signaled to the access node to which the end node is coupled by a wireless communications link.

The access node can decide to grant and/or reject an end node's request to be added to a multicast group, e.g., based on service information stored at the access node or available to the access node, e.g., from an Authentication Accounting and Authorization (AAA) server. For example, if a wireless terminal is not authorized, e.g., does not subscribe, to a multicast service corresponding to the group the wireless terminal is attempting to join, the request to be added to the group may, and often will be, denied by the access node.

In a wireless environment, where transmission bandwidth and other transmission resources are limited and often relatively costly as compared to wired communications systems, for system efficiency and resource allocation purposes, accurate multicast group membership information can be very useful. For example, it is undesirable and wasteful to be transmitting multicast messages to members of a group when there are no longer any members of the group within the Access node's coverage area. Accordingly, accurate and timely multicast group membership information is important for efficient access node operation in a wireless environment. Accurate and timely multicast group membership information also enables optimization of multicast transmissions to the set of group members.

Unfortunately, known multicast communications protocols tend to provide relatively limited information about group membership at a particular access node, e.g., edge router. Generally, when using the known group communications methods without the invention, the set of end nodes included in a multicast group are not reliably known, and thus multicast transmission must be targeted to reach a pre-determined coverage area. In addition, the updating of this information may be on a time scale which is relatively slow and can lead to waste in a wireless environment due to signals being transmitted to end nodes which are no longer in the access node's coverage area.

The methods and apparatus of the present invention are directed to improved multicast communications techniques. Various features of the present invention are directed to improving the timeliness, reliability and amount of information available at an access node regarding multicast group members which use the access node as their point of network attachment. Some of these features are achieved through the use of one or more signaling methods of the present invention. In addition to novel multicast signaling to and/or from end nodes which are used to provide group membership information at an access node, an access node can use handoff and/or other types of information to generate and/or update multicast group membership information at the access node. For example, when a handoff occurs from one access node to another, the access node from which the handoff occurs may update its group membership information to remove the wireless terminal which is being handed off from multicast group membership lists maintained at the access node. The access node which serves as the wireless terminal's new network point of attachment may update its multicast group membership information based on information communicated as part of the handoff operation or received from a core state management node as part of a handoff operation.

In accordance with one exemplary embodiment of the invention, novel group communications signaling is used between a wireless interface at an end node, e.g., wireless terminal, and an access node. The signaling is designed to provide the access node accurate and reliable multicast group membership information and to provide confirmation to the end node regarding the acceptance/rejection of requested group membership. In the exemplary embodiment a wireless interface is used by an end node to transmit signal to and receive signals from the access node. The wireless interface may be internal to the end node, external to the end node and coupled to the end node by a connection, or partially internally to the end node, e.g., as may be the case where the wireless interface is implemented as a card which can be partially inserted into the end node, e.g., a notebook computer or PDA. In some embodiments, the wireless interface serves a single end node and is coupled to one or more internal components of the end node by a physical, e.g., wired, as opposed to wireless, connection. The end node in various embodiments includes a group communications module to which the wireless interface is coupled, e.g., by a wired connection.

In accordance with the exemplary embodiment of the invention, the wireless interface used by an end node is used to transmit a group membership information change request signal to the access node when the wireless terminal seeks to be added or removed from a multicast group. This may be, e.g., in response to a signal generated by one or more multicast applications executed in the end node, e.g., which operate in response to input received from a user of the end node.

The group membership information change request signal includes, in some embodiments, an end node identifier, a multicast group identifier and information indicating whether the end node is seeking to be added or removed from the multicast group corresponding to the group identifier included in the message.

In response to receiving a group membership information change request signal, if the signal requests that the end node be added to a multicast group, the access node receiving the signal will, in some embodiments, determine if the end node sending the message is authorized to be a member of the indicated group.

If the end node is authorized to be a member of the group, the access node will add the end node to a group membership list which lists the members of the multicast group which are using said access node to receive group signals. Different membership lists are maintained at the access node for different multicast groups. An end node can be a member of one, multiple, or no multicast groups at any point in time. Assuming the access node adds the end node to the group membership list as requested, the Access Node will transmit a response signal to the end node indicating that its request to be added to the group has been granted.

If the end node is not authorized to be a member of the group indicated in the request signal, the access node will not add the end node to the group membership list corresponding to the group identified in the request message. Different membership lists are maintained at the access node for different multicast groups. In the case where the end node is not authorized to be added to the group as requested, the Access Node will respond to the request by transmitting a response signal to the end node indicating that its request to be added to the group has been denied.

In various exemplary embodiments, a group communication module in the end node monitors for receipt by the wireless interface module of a response to each group membership information change request signal transmitted for said end node. In some embodiments, the group communications module directs the wireless interface module to retransmit the group membership information change request signal when a response has not been received by the wireless interface module in a pre-selected period of time in which a response to the request would normally be expected to be received. This time may vary depending on the particular system implementation but is usually a set period of time.

The group membership information change request signal is often generated, either directly or indirectly, in response to information supplied by a multicast group communication application operating, e.g., executed by, said end node. The multicast group communication application may interact directly with the group communications module. Alternatively, a standard group membership client module which implements standard multicast signaling when interacting with one or more multicast group communications applications operates as an interface between the applications and the group communications module of the present invention. Thus, the methods of the present invention can be used with conventional group communications applications without requiring them to support group communications signaling in accordance with the present invention. In such embodiments, the standard group membership client module serves to convert between standard group communication protocol signaling and the novel request and optional response signaling used in accordance with the present invention.

Given that a response to a request to be added to a group is generated, both the access node and the end nodes in a system implementing the present invention are provided with reliable group membership information.

While in some scenarios the group membership signaling of the present invention may involve more signaling than some known group communications protocols, it has the potential to reduce and/or eliminate unnecessary wireless transmission of multicast signals which may occur in known systems due to the unreliability and lack of detailed information regarding group membership at an access node.

As will be discussed in the detailed description below, detailed group membership information at an access node offers numerous additional benefits in terms of the allocation and use of limited wireless communications resources available at the access node.

Numerous variations on the above described methods and apparatus of the present invention are possible. The detailed description which follows provides additional description of the invention as well as discussing additional exemplary embodiments, features and benefits of the invention.

DETAILED DESCRIPTION OF THE FIGURES AND THE INVENTION

FIG. 1 illustrates an exemplary communication system 100, e.g., a cellular communication network, which comprises a plurality of nodes interconnected by communications links. Nodes in the exemplary communication system 100 may exchange information using signals, e.g., messages, based on communication protocols, e.g., the Internet Protocol (IP). The communications links of the system 100 may be implemented, for example, using wires, fiber optic cables, and/or wireless communications techniques. The exemplary communication system 100 includes a plurality of end nodes 134, 136, 144, 146, 154, 156, which access the communication system via a plurality of access nodes 130, 140, 150. The end nodes 134, 136, 144, 146, 154, 156 may be, e.g., wireless communication devices or terminals, and the access nodes 130, 140, 150 may be, e.g., wireless access routers or base stations. The exemplary communication system 100 also includes a number of other nodes as may be needed to provide interconnectivity or to provide specific services or functions. Specifically, the exemplary communication system 100 includes a mobility agent node 108, e.g., Mobile IP home agent node, as may be needed to support mobility of end nodes between access nodes, a session signaling server node 106, e.g., Session Initiation Protocol (SIP) proxy server, as may be needed to support establishment and maintenance of communication sessions between end nodes, and an application server node 104, e.g., multimedia server, as may be needed to support specific application layer services.

The FIG. 1 exemplary system 100 depicts a network 102 that includes the application server node 104, the session signaling server node 106, and the mobility agent node 108, each of which is connected to an intermediate network node 110 by a corresponding network link 105, 107, 109, respectively. The intermediate network node 110 in the network 102 also provides interconnectivity to network nodes that are external from the perspective of the network 102 via network link 111. Network link 111 is connected to another intermediate network node 112, which provides further connectivity to a plurality of access nodes 130, 140, 150 via network links 131, 141, 151, respectively.

Each access node 130, 140, 150 is depicted as providing connectivity to a plurality of N end nodes (134, 136), (144, 146), (154, 156), respectively, via corresponding access links (135, 137), (145, 147), (155, 157), respectively. In the exemplary communication system 100, each access node 130, 140, 150 is depicted as using wireless technology, e.g., wireless access links, to provide access. A radio coverage area, e.g., communications cell, 138, 148, 158 of each access node 130, 140, 150, respectively, is illustrated as a circle surrounding the corresponding access node.

The exemplary communication system 100 is subsequently used as a basis for the description of an embodiment of the invention. Alternative embodiments of the invention include various network topologies, where the number and type of network nodes, the number and type of links, and the interconnectivity between nodes may differ from that of the exemplary communication system 100 depicted in FIG. 1.

FIGS. 2A, 2B and 2C illustrate apparatus, e.g., exemplary end nodes with a wireless communications interface module, capable of supporting group communications signaling in accordance with the present invention. Items identified in FIGS. 2A, 2B, and 2C identified with the same reference numbers can be implemented using the same or similar elements.

FIG. 2A provides a detailed illustration of an exemplary end node 200 implemented in accordance with on embodiment of the present invention. In the FIG. 2A embodiment the wireless communications interface module 230 is shown as an internal component of the node 230. The wireless communications interface module 230 may be, and sometimes is, hardwired to other elements in the end node 200. The exemplary end node 200, depicted in FIG. 2A, is a detailed representation of an apparatus that may be used as any one of the end nodes 134, 136, 144, 146, 154, 156, depicted in FIG. 1. In the FIG. 2A embodiment, the end node 200 includes a processor 204, a wireless communication interface module 230, a user input/output interface 240 and memory 210 coupled together by bus 206. Accordingly, via bus 206 the various components of the end node 200 can exchange information, signals and data. The components 204, 206, 210, 240 of the end node 200 are located inside a housing 202. In some embodiments of the present invention, at least a portion of the wireless interface module 230 is located in the end node housing. In other embodiments, e.g., as in the FIG. 2C example, the wireless interface module is external from the end node housing and coupled to the end node by a communication connection, e.g., via copper wires or a cable. In other embodiments such as shown in FIG. 2B, the wireless communications module is implemented as a plug in card, e.g., a PCMCIA card, which can be inserted and removed from the end node by a user through an opening in the end node housing 202.

The processor 204 under control of various modules, e.g., routines, included in memory 210 controls operation of the end node 200 to perform various signaling and processing as discussed below. The modules included in memory 210 are executed on startup or as called by other modules. Modules may exchange data, information, and signals when executed. Modules may also share data and information when executed.

The wireless communication interface module 230 provides a mechanism by which the internal components of the end node 200 can send and receive signals to/from external devices and network nodes, e.g., access nodes. The wireless communication interface module 230 includes, e.g., a receiver circuit 232 with a corresponding receiving antenna 236 and a transmitter circuit 234 with a corresponding transmitting antenna 238 used for coupling the end node 200 to other network nodes, e.g., via wireless communications channels. In some embodiments of the present invention, the wireless communication interface module 230 includes an interface processor 231 and interface memory 233, as depicted in FIG. 2. The interface processor 231 under control of various modules, e.g., routines, included in interface memory 233 controls operation of the wireless communication interface module 230 to perform various signaling and processing as discussed below. The modules included in interface memory 233 are executed on startup or as called by other modules. Modules may exchange data, information, and signals when executed. Modules may also share data and information when executed.

The exemplary end node 200 also includes a user input device 242, e.g., keypad, and a user output device 244, e.g., display, which are coupled to bus 206 via the user input/output interface 240. Thus, user input/output devices 242, 244 can exchange information, signals and data with other components of the end node 200 via user input/output interface 240 and bus 206. The user input/output interface 240 and associated devices 242, 244 provide a mechanism by which a user can operate the end node 200 to accomplish certain tasks. In particular, the user input device 242 and user output device 244 provide the functionality that allows a user to control the end node 200 and applications, e.g., modules, programs, routines and/or functions, that execute in the memory 210 of the end node 200.

In the FIG. 2A embodiment, the end node memory 210 includes one or more multicast group communication applications 215, 216. Some end node embodiments implemented in accordance with the present invention also include a standard group membership client module 213 and corresponding standard group membership client information 214. The standard group membership client module 213 may support any one of a variety of group management protocols, e.g., Internet Group Management Protocol (IGMP), Multicast Listener Discovery (MLD), etc. In end node embodiments that include a standard group membership client module 213, multicast group communication applications 215, 216 may indicate group communication requirements (e.g., multicast groups for which the application should receive traffic) to the standard group membership client module 213 via an application programming interface (API) and interface memory 233 including one or more modules that implement various aspects of the present invention. In various embodiments the standard group membership client module 213 may interact with the group communication module 211 and/or 211′ using IGMP or MLD compliant signaling with the group communication module 211 or 211′ then acting as a proxy and generating non-IGMP and non-MLD compliant group membership change request signals which are transmitted by the transmitter included in the wireless communication interface module 230. Thus, in some embodiments which include a standard group membership client module 213, the group communication module 211′, 211 which is coupled thereto serves as a proxy with the standard group membership client module 213 allowing for applications to interact with the group membership module 213 using standard API's and conventional signaling.

In the FIG. 2A embodiment, the end node memory 210 and interface memory 233 further include a group communication module 211/211′ and group communication information 212/212′ that implement various aspects of the present invention. In accordance with the present invention, the group communication module 211/211′ and group communication information 212/212′ may be implemented either in the end node memory 210 (as indicated by the blocks labeled 211, 212) or in the interface memory (as indicated by the blocks labeled 211′, 212′). The group communication module 211/211′ exchanges group membership information signaling with an access node, e.g., to control joining and leaving of multicast groups. The multicast group communication applications 215, 216 may indicate group communication requirements (e.g., multicast groups for which the application should receive traffic) to the group communication module 211/211′ via an application programming interface (API). In end node embodiments that include a standard group membership client module 213, the group communication module 211/211′ may receive (e.g., intercept) group membership signaling directed towards an access node by said standard group membership client module 213, and the group communication module 211/211′ may also proxy group membership signaling as would be directed from an access node to said standard group membership client module 213.

The FIG. 2B embodiment is similar to the FIG. 2A embodiment. However, in the FIG. 2B the end node 200′ include an end node housing 102′ with an opening through which the wireless communication interface module 230′, which is implemented in this embodiment as a plug in card, can be inserted. As illustrated, when fully inserted, a portion of the card 230′ extends beyond the housing 202′ allowing for wireless signals to be transmitted and received without being shielded by said housing. The card 230′ is coupled to the bus 206 in the FIG. 2B embodiment by a plug in connector 231′ which allows for the card to make electrical contact with the bus 206 but still allows the card 230′ to be inserted and removed by the user without having to take apart the housing 202′.

FIG. 2C illustrates an embodiment where the wireless communications interface module 230″ is implemented as an external device which is coupled to the end node 200″ by a cable 229″ and a cable connector 231″. In the FIG. 2C embodiment, the wireless communication interface module 230″ can be easily connected and disconnected by simply detaching the cable 229″ form the connector 231″. The FIG. 2C implementation is well suited for devices such as personal computers, etc. which do not include an available slot or opening for insertion of a card of the type shown in the FIG. 2B embodiment.

FIG. 3 provides a detailed illustration of an exemplary access node 300 implemented in accordance with the present invention. The exemplary access node 300, depicted in FIG. 3, is a detailed representation of an apparatus that may be used as any one of the access nodes 130, 140, 150, depicted in FIG. 1. In the FIG. 3 embodiment, the access node 300 includes a processor 304, a network/internetwork interface 320, a wireless communication interface 330 and memory 310, coupled together by bus 306. Accordingly, via bus 306 the various components of the access node 300 can exchange information, signals and data. The components 304, 306, 310, 320, 330 of the access node 300 are located inside a housing 302.

The processor 304 under control of various modules, e.g., routines, included in memory 310 controls operation of the access node 300 to perform various signaling and processing, as discussed below. The modules included in memory 310 are executed on startup or as called by other modules. Modules may exchange data, information, and signals when executed. Modules may also share data and information when executed.

The network/internetwork interface 320 provides a mechanism by which the internal components of the access node 300 can send and receive signals to/from external devices and network nodes. The network/internetwork interface 320 includes, a receiver circuit 322 and a transmitter circuit 324 used for coupling the node 300 to other network nodes, e.g., via copper wires or fiber optic lines. The wireless communication interface 330 also provides a mechanism by which the internal components of the access node 300 can send and receive signals to/from external devices and network nodes, e.g., end nodes. The wireless communication interface 330 includes, e.g., a receiver circuit 332 with a corresponding receiving antenna 336 and a transmitter circuit 334 with a corresponding transmitting antenna 338 used for coupling the access node 300 to other network nodes, e.g., via wireless communication channels.

In the FIG. 3 embodiment, the memory 310 of the access node 300 includes a multicast routing/forwarding module 311, multicast routing/forwarding information 312, a group membership server module 313, group membership information 314, and a multicast group communication application 315.

The multicast routing/forwarding module 311 controls the operation of the access node 300 to support routing/forwarding of multicast traffic packets. The multicast routing/forwarding module 311 may use any one of a variety of multicast routing protocols, e.g., Distance Vector Multicast Routing Protocol (DVMRP), Protocol Independent Multicast (PIM), etc. The multicast routing/forwarding information 312 includes, e.g., the multicast routing and/or forwarding tables indicating the interfaces between which multicast packets corresponding to specific groups should be copied and forwarded.

The group membership server module 313 controls the operation of the access node 300 to support managing group membership information on interfaces of the access node 300. The group membership information 314 includes, e.g., the set of groups for which there are active members connected to the access node 300 via the wireless interface 330, specific information pertaining to each such group, and specific information pertaining to each group member connected to the access node 300 via the wireless interface 330. The group membership server module 313 exchanges group membership information signaling with end nodes, e.g., to control joining and leaving of multicast groups. In accordance with the present invention, the group membership server module 313 in the access node 300 exchanges group membership information signaling with the group communications module 211 in the end node 200.

FIG. 4 illustrates the functional entities typically associated with group membership signaling between a traditional access node and a traditional end node as a basis for comparison with the present invention. The FIG. 4 bock diagram 400 includes a traditional access node 430 and a traditional end node 420. The access node 430 includes a standard group membership server module 432. The end node 420 includes a standard group membership client module 422 and one or more multicast group communication applications 424, 426. The multicast group communication applications 424, 426 indicate group communication requirements (e.g., multicast groups for which the application should receive traffic) to the standard group membership client module 422 via an API, 410, 412. For example, when an application starts a session associated with a particular multicast group, the application (e.g., 424) indicates to the standard group membership client module 422 via the API (e.g., 410) a requirement to join the particular group so that the application can receive traffic destined to the multicast group.

The standard group membership client module 422 in the end node 420 exchanges group membership information signaling 402, 404 with standard group membership server module 432 in the access node 430, e.g., to relay group membership information learned via the API from applications to the access node 430. The signaling 402, 404 between the standard group membership client module 422 and the standard group membership server module 432 may be in accordance with any one of a variety of group management protocols, e.g., Internet Group Management Protocol (IGMP), Multicast Listener Discovery (MLD), etc. The signaling 402, 404 enables the access node 430 to determine if there are members associated with particular multicast groups connected via a particular interface of the access node 430, such that the access node 430 can execute the procedures to establish and maintain multicast routing/forwarding as needed. Note that standard group membership signaling approaches do not ensure that the access node can determine of the number of members associated with a particular multicast group, nor enable an access node to maintain an explicit list of group members associated with a particular group. Additionally, standard group membership signaling approaches do not provide confirmation to the end node that group membership requirements have been received and/or accepted by the access node.

FIG. 5 illustrates the functional entities associated with group membership signaling between an access node and an end node implemented in accordance with the present invention. The FIG. 5 bock diagram 500 includes an access node 300 implemented in accordance with the present invention and an end node 200 implemented in accordance with the present invention. The access node 300 and end node 200 depicted in FIG. 5 are simplified representations of those depicted in FIG. 3 and FIG. 2, respectively. The access node 300 includes a group membership server module 313. The end node 200 includes a group communication module 211 and one or more multicast group communication applications 215, 216. Some end node embodiments further include a standard group membership client 213. In end node embodiments that include a standard group membership client 213, the multicast group communication applications 215, 216 indicate group communication requirements (e.g., multicast groups for which the application should receive traffic) to the standard group membership client module 213 via an API, 510, 512. For example, when an application starts a session associated with a particular multicast group, the application (e.g., 215) indicates to the standard group membership client module 213 via the API (e.g., 510) a requirement to join the particular group so that the application can receive traffic destined to the multicast group.

The standard group membership client module 213 in the end node 200 sends and receives group membership information signaling 508, 506, e.g., intended to relay group membership information learned via the API from applications to the access node 300. In accordance with the present invention, said signaling is exchanged between the standard group membership client module 213 and the group communication module 211. Thus, the group communication module 211 receives (e.g., intercepts) group membership signaling directed towards an access node by the standard group membership client module 213, and the group communication module 211 serves as a proxy for group membership signaling as would be directed from an access node to said standard group membership client module 213.

The signaling 506, 508 exchanged between the standard group membership client module 213 and the group communication module 211 may be based on any one of a variety of group management protocols, e.g., Internet Group Management Protocol (IGMP), Multicast Listener Discovery (MLD), etc. Said signaling 506, 508 enables the group communication module 211 to determine group communication requirements (e.g., multicast groups for which the applications should receive traffic) learned by the standard group membership client module 213 via the API 510, 512 from multicast group communication applications 215, 216. In embodiments that do not include a standard group membership client module 213, the multicast group communication applications 215, 216 indicate group communication requirements (e.g., multicast groups for which the application should receive traffic) directly to the group communication module 211 via an API.

The group communication module 211 in the end node 200 exchanges signaling 502, 504 with the group membership server module 313 in the access node 300. The signaling 502, 504 enables the end node 200, e.g., to indicate group membership requirements and information to the access node 300. Thus, the access node 300 can determine if there are members associated with particular multicast groups connected via a particular interface of the access node 300, such that the access node 300 can execute the procedures to establish and maintain multicast routing/forwarding as needed. In some but not necessarily all embodiments, the access node 300 determines the number of members associated with a particular multicast group and stores that number in memory. Additionally, the signaling 502, 504 between the group communication module 211 and the group membership server module 313, enables the access node 300 to maintain an explicit list of group members associated with a particular group and provides confirmation to the end node 200 that group membership requirements have been received and/or accepted by the access node 300.

FIG. 6 depicts a message flow diagram 600 illustrating exemplary signaling exchanged between the group communication module 211 associated with an end node 200 implemented in accordance with the invention and the group membership server module 313 in an access node 300 implemented in accordance with the invention. In the FIG. 6 example, the group membership server module 313 sends a Notification (Group Advertisement) signal 602 to the group communication module 211. This notification signal includes, e.g., a list of supported multicast groups used for services supported by the network to which the access node 300 is interconnected. The Notification (Group Advertisement) signal may be transmitted via the wireless interface 330 in the access node 300 using either unicast (e.g., directed to a particular end node) or multicast (e.g., directed to a plurality of end nodes). In some embodiments, the Notification (Group Advertisement) signal 602 is periodically sent by the group membership server module 313 in an access node 300 to one or more end nodes connected to said access node 300. In some embodiments, the Notification (Group Advertisement) signal 602 is sent by the group membership server module 313 in an access node 300 to one or more end nodes connected to said access node 300 in response to receiving a signal from an end node.

FIG. 6 further depicts a Request (Group Membership Information Change) signal 604 being sent from the group communication module 211 to the group membership server module 313. The Request (Group Membership Information Change) signal 604 includes, e.g., information identifying the end node 200, and indicating multicast groups to which the end node 200 is requesting membership (e.g., joining) and/or is terminating membership (e.g., leaving). The Request (Group Membership Information Change) signal 604 is sent by the group communication module 211, e.g., in response to a change in group membership requirements indicated by a multicast group communication application. In some embodiments, the group communication module 211 starts a Request Retransmission Timer 612 upon sending the Request (Group Membership Information Change) signal 604 and retransmits the Request (Group Membership Information Change) signal 608 if a corresponding Response signal 606 is not received prior to expiry of the Request Retransmission Timer.

The group membership server module 313 sends a Response signal 606 to the group communication module 211 in response to receiving a Request (Group Membership Information Change) signal 604 from said group communication module 211. The Response signal 606 includes, e.g., a confirmation that the corresponding Request (Group Membership Information Change) signal 604 was received, an indication that one or more aspects of the corresponding Request (Group Membership Information Change) signal 604 were accepted, and/or an indication that the one or more aspects of the corresponding Request (Group Membership Information Change) signal 604 were not accepted.

In some embodiments, the group communication server module 313 in the access node 300 sends a Notification (Group Membership Information Change) signal 610 when group membership information in the access node 300 is changed without request by the end node 200. Such a change may occur, e.g., when a particular multicast service to which the end node 200 was joined is administratively terminated or can no longer be supported. The Notification (Group Advertisement) signal 610 may be transmitted via the wireless interface 330 in the access node 300 using either unicast (e.g., directed to a particular end node) or multicast (e.g., directed to a plurality of end nodes).

In some embodiments of the present invention, communications between nodes is based all, or in part, on the Internet Protocol (IP). Thus, communication of both data and/or control signaling between the network nodes may use IP packets, e.g., datagrams.

Various features of the present invention are implemented using modules. Such modules may be implemented using software, hardware or a combination of software and hardware. Many of the above described methods or method steps can be implemented using machine executable instructions, such as software, included in a machine readable medium such as a memory device, e.g., RAM, floppy disk, etc. to control a machine, e.g., general purpose computer with or without additional hardware, to implement all or portions of the above described methods. Accordingly, among other things, the present invention is directed to a machine-readable medium including machine executable instructions for causing a machine, e.g., processor and associated hardware, to perform one or more of the steps of the above-described method(s).

Numerous additional variations on the methods and apparatus of the present invention described above will be apparent to those skilled in the art in view of the above description of the invention. Such variations are to be considered within the scope of the invention. The methods and apparatus of the present invention may be, and in various embodiments are, used with code division multiple access (CDMA), orthogonal frequency division multiplexing (OFDM), or various other types of communications techniques which may be used to provide wireless communications links between access nodes and mobile nodes. In some embodiments the access nodes are implemented as base stations which establish communications links with mobile nodes using OFDM and/or CDMA. In various embodiments the mobile nodes are implemented as notebook computers, personal data assistants (PDAs), or other portable devices including receiver/transmitter circuits and logic and/or routines, for implementing the methods of the present invention. 

1. A communications method for use in a group communications environment including an end node and an access node, the method comprising: transmitting from a wireless interface module having a connection to an element in said end node a group membership information change request signal; and operating a group communication module to monitor for receipt by said wireless interface module of a response to said group membership information change request signal.
 2. The method of claim 1, wherein said connection is a wired connection to an element in said end node.
 3. The method of claim 1, wherein said group communication module directs said wireless interface module to retransmit said group membership information change request signal when a response to said transmitted group membership information change request signal is not received by said wireless interface module in a preselected period of time.
 4. The method of claim 1, wherein said group membership information change request signal requests that said access node add said end node as a member to a group identified in said group membership information change request signal.
 5. The method of claim 4, wherein said group communications module initiates transmission of said group membership information change request signal as a function of information obtained from a multicast group communication application operating in said end node.
 6. The method of claim 5, wherein said group communication module receives said group membership information from a standard group membership client module which receives information from a multicast group communication application.
 7. The method of claim 6, wherein said standard group membership client module is a multicast listener discovery protocol module.
 8. The method of claim 6, further comprising: periodically querying said standard group membership module for group membership information.
 9. The method of claim 6, sending a query from said group communications module to said standard group membership module for group membership client information relating to a group identified in said query.
 10. The method of claim 6, wherein signaling between said standard group membership module and said group communications module is performed using IGMP compliant signaling.
 11. The method of claim 6, wherein signaling between said group communication module and said multicast group communication application is performed using non-IGMP compliant signals.
 12. The method of claim 1, wherein said wireless interface module is at least partially inside an end node housing used to house elements of said end node.
 13. The method of claim 1, wherein said wireless interface module is external to said end node and is coupled to at most one end node by a wired connection at any one point in time.
 14. The method of claim 1, wherein said group communications module is located inside said wireless interface module.
 15. The method of claim 1, wherein said group communications module is located in said end node in a location outside said wireless interface module.
 16. The method of claim 1, further comprising: operating said access node to receive said group membership information change request signal; and operating said access node to update group membership information corresponding to said end node to add or remove said end node from a multicast group as requested.
 17. The method of claim 16, further comprising: operating a wireless interface in said access node to transmit said response, said response indicating acceptance of said requested change.
 18. The method of claim 1, further comprising: operating said access node to receive said group membership information change request signal requesting that said end node be added to a multicast group; operating said access node to determine if said end node is entitled to be added to said multicast group; and operating said access node to generate a response indicating rejection of said request in response to determining that said end node is not entitled to be added to said multicast group.
 19. The method of claim 18, further comprising: operating a wireless interface in said access node to transmit said generated response, said transmitted response being said response to said transmitted group membership information change request signal.
 20. An apparatus for use in a group communications environment, the apparatus comprising: a transmitter module enabled to transmit a group membership information change request signal; a receiver module enabled to receive a response to a group membership information change request signal previously transmitted by said transmitter module; and a group communication module coupled to said receiver, said group communication module being enabled to detect a response to a group membership information change request signal which was previously transmitted by said transmission module.
 21. The apparatus of claim 1, wherein said group communications module, said transmitter module and said receiver module are included in a wireless communications interface module.
 22. The apparatus of claim 21 wherein said group communications module is implemented as a plug in card.
 23. The apparatus of claim 21, wherein said apparatus is a wireless terminal, the apparatus further comprising: a housing including an opening through which said plug in card can be inserted and removed, at least a portion of said plug in card extending beyond the exterior of said housing when said plug card is fully inserted.
 24. The apparatus of claim 21, further comprising: a wireless terminal housing; and wherein said group communications module and said transmitter module are positioned externally to said wireless terminal housing and are coupled to an interface included in said housing by a cable.
 25. The apparatus of claim 21, wherein said group communication module includes a control module for controlling said transmitter to retransmit said group membership information change request signal when a response to said transmitted group membership information change request signal is not detected in a preselected period of time.
 26. The apparatus of claim 25, wherein said group membership information change request signal requests that an end node serviced by said group communications module be added as a member of a group identified in said group membership information change request signal.
 27. The apparatus of claim 25, further comprising: a multicast group communication application module; and wherein said group communications module is responsive to information, supplied by said multicast group communication application module, indicating a change in group membership is to be made to initiate the transmission of at least one group membership information change request signal by said transmitter.
 28. The apparatus of claim 25, further comprising: an IGMP standard compliant group communications module; wherein said multicast group communication module uses IGMP compliant signals for communicating with said IGMP standard compliant group communications module; and wherein said group membership information change request signal is a non-IGMP compliant signal. 